﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace ch04
{
    public partial class FormMovie : Form
    {
        public FormMovie()
        {
            InitializeComponent();
        }

        private void FormMovie_Load(object sender, EventArgs e)
        {
            //下拉列表框默认选中第一项
            comboBox1.SelectedIndex = 4;
        }
        //电影类型选择改变事件
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //清空ListBox列表框
            listBox1.Items.Clear();

            //获取用户选择的电影类型
            string type = comboBox1.Text;

            //读取电影类型对应的文件
            string fileName = type + ".txt";

            StreamReader sr = new StreamReader(@"电影资料\"+ fileName, Encoding.Default);

            string movieName;

            while ( (movieName = sr.ReadLine()) != null )
            {
                //读取的电影名称添加到ListBox列表框中
                listBox1.Items.Add(movieName);
            }

            sr.Close();

            //ListBox列表框默认选中第一项
            listBox1.SelectedIndex = 0;
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //获取选中的电影的名字
            string movieName = listBox1.SelectedItem.ToString();
            //判断是否已经打开了该电影
            if (tabControl1.TabPages.ContainsKey(movieName))
            {
                //将该电影设置为选中的
                tabControl1.SelectedTab = tabControl1.TabPages[movieName];
                //不再添加新的页面，直接结束方法
                return;
            }
            //根据电影名称往选项卡组件中添加一个页面
            //创建一个页面对象
            TabPage page = new TabPage();
            //设置页面的名字
            page.Name = movieName;
            //设置页面的标题
            page.Text = movieName;
            //将页面添加到选项卡组件中
            tabControl1.TabPages.Add(page);
            //让新添加的页面成为选中页
            tabControl1.SelectedTab = page;

            //往页面中加载一个显示电影详细信息的窗体
            //创建电影详细信息的窗体
            FormMovieInfo fmi = new FormMovieInfo(movieName);
            //设置窗体的级别为非顶级
            fmi.TopLevel = false;
            //将窗体添加到当前新增页面中
            page.Controls.Add(fmi);
            //显示窗体
            fmi.Show();

        }

        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            tabControl1.TabPages.RemoveAt(tabControl1.SelectedIndex);
        }
    }
}
